package entity

import (
	"time"
)

type Patient struct {
	ID                    int64     `gorm:"column:id;primary_key" json:"id"`                               //
	IDNo                  string    `gorm:"column:id_no" json:"id_no"`                                     //身份证号
	RealName              string    `gorm:"column:real_name" json:"real_name"`                             //姓名
	Gender                int       `gorm:"column:gender" json:"gender"`                                   //性别,1:男,2:女
	HeadImgID             int64     `gorm:"column:head_img_id" json:"head_img_id"`                         //头像图片附件id
	NativePlace           string    `gorm:"column:native_place" json:"native_place"`                       //籍贯
	Nation                string    `gorm:"column:nation" json:"nation"`                                   //民族
	Degree                string    `gorm:"column:degree" json:"degree"`                                   //文化程度
	MarriageStatus        int64     `gorm:"column:marriage_status" json:"marriage_status"`                 //婚姻状态,1:已婚,2:未婚,3:离异,4: 未提供
	OccupationalInjuryNo  string    `gorm:"column:occupational_injury_no" json:"occupational_injury_no"`   //工伤证号
	AreaID                int64     `gorm:"column:area_id" json:"area_id"`                                 //所属行政区划-区域id
	HomeAreaID            int64     `gorm:"column:home_area_id" json:"home_area_id"`                       //住址区域id
	Address               string    `gorm:"column:address" json:"address"`                                 //地址,详细地址
	Phone                 string    `gorm:"column:phone" json:"phone"`                                     //手机号
	EmergencyContactName  string    `gorm:"column:emergency_contact_name" json:"emergency_contact_name"`   //紧急联系人
	EmergencyContactPhone string    `gorm:"column:emergency_contact_phone" json:"emergency_contact_phone"` //紧急联系 人电话
	Alive                 int64     `gorm:"column:alive" json:"alive"`                                     //是否在世(1:在世 0：去世)
	Stage                 int64     `gorm:"column:stage" json:"stage"`                                     //期别(1:1期, 2:2期, 3:3期 ...)
	PatientType           string    `gorm:"column:patient_type" json:"patient_type"`                       //尘肺病类型
	IndustryID            int64     `gorm:"column:industry_id" json:"industry_id"`                         //行业id
	State                 int       `gorm:"column:state" json:"state"`                                     //状态:1.正常
	Com                   string    `gorm:"column:com" json:"com"`                                         //用人单位名称
	WorkHarmAge           string    `gorm:"column:work_harm_age" json:"work_harm_age"`                     //接尘工龄(月)
	ExamResult            string    `gorm:"column:exam_result" json:"exam_result"`                         //体检结果
	ExamDate              time.Time `gorm:"column:exam_date" json:"exam_date"`                             //体检日期
	DiagnoseResult        string    `gorm:"column:diagnose_result" json:"diagnose_result"`                 //诊断结果
	DiagnoseDate          time.Time `gorm:"column:diagnose_date" json:"diagnose_date"`                     //诊断日期
	AppraisalResult       string    `gorm:"column:appraisal_result" json:"appraisal_result"`               //鉴定结果
	AppraisalDate         time.Time `gorm:"column:appraisal_date" json:"appraisal_date"`                   //鉴定日期
	SecuritySituations    string    `gorm:"column:security_situations" json:"security_situations"`         //保障情况：此项为多选，编码如下：1.工伤保险保障 2.用人单位赔付 3.城乡 居民基本医疗保险 4.大病保险 5.其他（医疗救助、扶贫救助等）
	DataFrom              int       `gorm:"column:data_from" json:"data_from"`                             //数据来源1:监管 2:康复站
	CreateBy              int64     `gorm:"column:create_by" json:"create_by"`                             //
	UpdateBy              int64     `gorm:"column:update_by" json:"update_by"`                             //
	CreateDate            time.Time `gorm:"column:create_date" json:"create_date"`                         //
	UpdateDate            time.Time `gorm:"column:update_date" json:"update_date"`                         //
	IsValid               byte      `gorm:"column:is_valid" json:"is_valid"`                               //
}

// TableName sets the insert table name for this struct type
func (p *Patient) TableName() string {
	return "patient"
}
